Devices on a computer network use unique addresses, much like telephone numbers to communicate with each other. Each device, depending on it's function, will use one or more of these unique addresses. The addresses can correspond to one or more layers of the open system interconnection (OSI) model. Based on the OSI model, network devices use an address at layer 2 (data link layer) called a media access control (MAC) address, and an address at layer 3 (network layer) called a protocol address. Examples of protocol addresses can include an Internet Protocol (IP) address, an Internetwork Packet eXchange (IPX) address, and an AppleTalk address. A MAC address can be regarded as an address that is assigned to the hardware, whereas a protocol address can be regarded as an address assigned to the software.
Some network devices, such as a server, may include multiple network adapters (e.g., network interface cards (NIC)), that are configured as a team. When network adapters are teamed together, they function as a single virtual network adapter. Other network devices communicating with a network adapter team cannot distinguish that they are communicating with more than one network adapter. In one example, for a network adapter team to appear as a single virtual network adapter, all networking devices refer to the team by a single layer 2 address and a single layer 3 address. In other words, when a device is communicating with a team, regardless of the number of network adapters that make up the team, the network device only “sees” one MAC address and one protocol address. When communicating using IP, this means that a networking device will have one table entry in its address resolution protocol (ARP) cache for a network adapter team regardless of the number of network adapters that are configured within the team. Additional examples and descriptions of network teaming may be found in a technical white paper entitled “HP ProLiant Network Adapter Teaming”, June 2003.
Prior load balancing solutions do not allow for end-to-end load balancing because network communications between nodes use a single MAC address as an end-point identifier and load balancing criterion. Transmitted frames are sent to the same destination MAC address of a team network adapter (based on the ARP table entry), resulting in all frames being received on the same network adapter in the node.